framebuf模块提供了一个通用的帧缓冲区,可用于创建位图图像,然后将其发送到显示屏。

framebuf.FrameBuffer(buffer, width, height, format, stride=width)

类说明:构造一个FrameBuffer对象。

buffer:缓冲区
    必须足够大以包含由FrameBuffer指定的width,height和format
width:宽度,单位:像素
height:高度,单位:像素
format:FrameBuffer的格式
    framebuf.MONO_VLSB、framebuf.RGB565、framebuf.GS4_HMSB、framebuf.MONO_HLSB、framebuf.MONO_HMSB
stride:水平线的像素数
    默认为width

定义FrameBuffer

示例:

import framebuf

buffer = bytearray(16*8)
fb = framebuf.FrameBuffer(buffer, 128, 64, framebuf.MVLSB)

函数

1. framebuf.FrameBuffer.fill(c)

函数说明: 填充指定颜色。

c:数值范围根据颜色格式来确定

示例:

fb.fill(1)

2. framebuf.FrameBuffer.pixel(x, y[, c])

函数说明: 画点。

x,y:点坐标(x, y)
c   :点颜色

3.framebuf.FrameBuffer.hline(x, y, w, c)

函数说明: 画水平线。

x,y:水平线起始点坐标(x, y)
w   :线长
c   :线的颜色

4. framebuf.FrameBuffer.vline(x, y, h, c)

函数说明: 画垂直线。

x,y:垂直线的起始点坐标(x, y)
h   :垂直线的高度
c   :线的颜色

5. framebuf.FrameBuffer.line(x1, y1, x2, y2, c)

函数说明: 画任意方向的线。

x1,y1:线的始点坐标(x1, y1)
x2,y2:线的终点坐标(x2, y2)
c     :线的颜色

6. framebuf.FrameBuffer.rect(x, y, w, h, c)

函数说明: 画矩形。

x,y:矩形的起始点坐标(x, y)
w   :宽度
h   :高度
c   :矩形边的颜色

7. framebuf.FrameBuffer.fill_rect(x, y, w, h, c)

函数说明: 画矩形,并以颜色填充它。

x,y:矩形起始点坐标(x, y)
w   :宽度
h   :高度

8. framebuf.FrameBuffer.scroll(xstep, ystep)

函数说明: 按照给定的向量(dx, dy)移动屏幕中的内容。

dx:水平方向移动的距离和方向
    dx为正数时向右移动,为负数时向左移动
dy:垂直方向移动的距离和方向
    dy为正数时向下移动,为负数时向上移动


示例:

fb.scroll(10,10)

9. frameBuffer.text(s, x, y[, c =1])

函数说明: 写任意文本 。

s:要显示的字符串
x,y:字符串的坐标(x, y)
c:字符串颜色


注意:
   文本的颜色默认值为1。所有字符的尺寸为8x8像素,目前无法更改字体。

10. framebuf.FrameBuffer.blit(fbuf, x, y[, key ])

函数说明: 在当前FrameBuffer的指定坐标再创建一个FrameBuffer对象。如果指定了key值,则其对应的颜色是透明的:即不会画出与key指定的颜色相同的像素。若成功,则返回一个FrameBuffer对象。

fbuf:FrameBuffer对象
x,y:起始点坐标(x, y)
key:指定对应颜色为透明

示例:

buffer = bytearray (16*64)
fb1 = framebuf.FrameBuffer(buffer,128,64, framebuf.MVLSB)
fb2 = framebuf.FrameBuffer(buffer,128,64, framebuf.MVLSB)
fb2.blit(fb1,0,0)

设置用于对颜色值进行编码的位数以及缓冲区中这些(二进制)位的布局。

  • framebuf.MVLSB   = 0
  • framebuf.MONO_VLSB   = 0 — 单色(1字节),定义1字节的bit位对应垂直方向的像素点
  • framebuf.RGB565   = 1 — 红绿蓝(16位,5 + 6 + 5)颜色
  • framebuf.GS4_HMSB   = 2 — 灰度(4位)
  • framebuf.MONO_HLSB   = 3 — 单色(1位),定义1字节的bit位对应水平方向像素点
  • framebuf.MONO_HMSB   = 4 — 单色(1位),定义1字节中bit位对应水平方向的像素点

results matching ""

    No results matching ""